草庐IT

Java Xpath 表达式

全部标签

破折号的 PHP preg_replace 正则表达式

我正在尝试替换字符串中不是字母、数字或破折号“-”的任何内容。如何修改此行以包含破折号?$link=preg_replace('/[^a-z0-9]/',"",strtolower($_POST['link_name']));我只是把它插进去吗?$link=preg_replace('/[^a-z0-9-]/',"",strtolower($_POST['link_name'])); 最佳答案 你必须转义-因为它是正则表达式的特殊字符:$link=preg_replace('/[^a-z0-9\-]/','',strtolower(

php - 如何使用正则表达式在 PHP 中将字符串设为 "clean"?

例如假设我有$blah="C$#@#.a534&";我想过滤字符串,只过滤字母、数字和“.”继续产生“C.a534”我该怎么做? 最佳答案 如果您知道应该允许使用哪些字符,则可以使用否定字符组(在正则表达式中)删除其他所有字符:$blah=preg_replace('/[^a-z0-9\.]/i','',$blah);请注意,我正在为正则表达式使用i修饰符。它匹配不区分大小写,所以我们不需要指定a-z和A-Z。 关于php-如何使用正则表达式在PHP中将字符串设为"clean"?,我们在

php - 为此使用什么正则表达式

我正在写一个正则表达式,可以找到其中之一1个或多个点..........后跟空格或根本没有跟随任何东西1个或多个问号??????后跟一个空格或根本不跟任何内容我该如何编写这个正则表达式才能让它做这个或那个? 最佳答案 \.+?$\?+?$(您只需要使用\转义.或?以逐字匹配它,因为这些字符在常规中具有特殊含义表达式。)如果您想匹配包含仅您的模式的行,请在其中任何一个前面加上^前缀。 关于php-为此使用什么正则表达式,我们在StackOverflow上找到一个类似的问题:

php - 模拟 php 数组语言构造或使用正则表达式解析?

从外部来源我得到类似的字符串array(1,2,3)还有一个更大的数组,比如array("a","b","c",array("1","2",array("A","B")),array("3","4"),"d")我需要它们成为php中的实际数组。我知道我可以使用eval但由于它是不受信任的来源,我宁愿不这样做。我也无法控制外部资源。我应该为此使用一些正则表达式(如果是,是什么)还是有其他方法? 最佳答案 虽然使用Tokenizer编写解析器并不像我预期的那么容易,但我想到了另一个想法:为什么不使用eval解析数组,但首先要验证它不包含

php - 正则表达式:字符串是否以大写字母开头(不仅在 A-Z 中)?

如果第一个字母可能不在A-Z范围内但来自其他语言并且同时如果第一个字符不是数字,我如何检查字符串是否以大写字母开头?例子:"Thisisstring"-match"thisisstring"-notmatch"5notgood"-notmatch"Увеличиstartscapital"-match"мащабиранеnocapital"-notmatch在PHP中:if(preg_math('/??/i',$str)){echo'yeeeehaaa';} 最佳答案 使用这个正则表达式:preg_match('#^\p{Lu}#

php - 正则表达式在第一个换行符处拆分字符串

我想在第一个换行符处拆分一个字符串,而不是第一个空行'/^(.*?)\r?\n\r?\n(.*)/s'(第一个空行)例如,如果我有:$str='2099test\nAreyousureyouwanttocontinue\nsomeotherstringhere...';match[1]='2099test'match[2]='Areyousureyouwanttocontinue\nsomeotherstringhere...' 最佳答案 preg_split()有一个限制参数,您可以利用它。你可以简单地做:$lines=preg_

php - 如何检查字符串是否完全匹配正则表达式模式?

我正在为我客户的产品销售网站编写注册脚本。我目前正在处理引用ID输入区域,我想确保引用ID在付款方式的正确参数范围内引用ID看起来像这样:XXXXX-XXXXX-XXXXX我正在尝试使用此RegEx模式来匹配它:/(\w+){5}-(\w+){5}-(\w+){5}/这与它完美匹配,但它也与XXXXX-XXXXX-XXXXXXXXXX匹配或者至少它在那里找到了一个匹配项。我希望它确保整个字符串匹配。我对RegEx不太熟悉我该怎么做? 最佳答案 您需要使用开始和结束anchor。或者,如果您不需要捕获这些组,则可以省略括号。此外,+{

java - 正则表达式-如何在第一次出现字符时停止

我正在尝试从标签中提取src值,到目前为止,我似乎能够提取src值和字符串中最后一个引号之间的字符串字符串:例如在PHP中:preg_match('/src=\"(.*)\"/',$row->find('aimg',0),$matches);if($matches){echo$matches[0];}打印出来src="http://i.bookfinder.com/about/booksellers/logo_borderless/amazon_uk.gif"width="89"height="31"alt=""但我真正想要打印的是...src="http://i.bookfinder

php - 我可以使用什么正则表达式来验证 0 到 255 之间的数字?

我想验证0-255范围内的数字我有这个表情'/^([0-1]?[0-9]?[0-9])|([2][0-4][0-9])|(25[0-5])$/'但这接受任何数字...这有效:'/(^[0-1]?[0-9]?[0-9]$)|(^[2][0-4][0-9]$)|(^25[0-5]$)/'为什么每个选项都必须有^和$?编辑:我有它,但我不能回答我的问题,所以-^和$比|有更高的优先级,所以/^(...)$/有帮助 最佳答案 注意:@alex'sanswer是要走的路。使用正则表达式验证数字范围就像使用手提钻抓苍蝇一样。尽管如此,我还是想为

php - 正则表达式(在 PHP 中)匹配 & 不是 HTML 实体

目标是:用&替换所有独立的符号但不要替换那些已经是HTML实体一部分的那些,例如 。我想我需要一个用于PHP的正则表达式(最好是用于preg_函数),它只匹配独立的&符号。我只是不知道如何使用preg_replace做到这一点。 最佳答案 PHP的htmlentities()对此有double_encode参数。如果你想在正则表达式中做类似的事情,那么否定断言就很有用了:preg_replace('/&(?!(?:[[:alpha:]][[:alnum:]]*|#(?:[[:digit:]]+|[Xx][[:xdigit:]]+))